A typical server platform includes multiple processor sockets, a memory subsystem, and a number of PCI Express (PCIe) controllers. The level of robust platform management is one of the key attributes that distinguish a server from a platform targeted for individual use, such as personal computers, laptops, notebooks, tablets, smartphones, etc. The management of a server platform is typically orchestrated by a baseboard management controller (BMC). The BMC allows the platform to be remotely managed through use of an application or web-based interface including a remote management console and uses a sideband path into the network controller to facilitate communication between the BMC and the remote management console. Since server management is a complex task, the BMC offloads some of the responsibilities to a management engine (ME). The ME is configured to perform various platform management tasks via communication with platform components over applicable interconnects, and communicates component operating parameters and associated data back to the BMC.
Several manageability applications require relatively high bandwidth (˜10 MB/s) and low latency communication paths between various components. Media redirection (mounting a remote drive) and video redirection are two examples of such applications. In current server platforms, a fast sideband bus such as reduced media independent interface (RMII) or an internal bus is used to meet these needs. A dedicated sideband bus increases component costs (more pins) and limits motherboard placement options. Internal busses limit mix and match configurations such as preventing media redirection using a discrete local area network (LAN) or discrete graphics component. Thus, a different approach is desired for manageability applications.
Management Component Transport Protocol (MCTP) is a protocol standard developed by Distributed Management Task Force (DMTF) platform management. It is designed to support communications between different intelligent hardware components making up a platform management subsystem that provides monitoring and control functions inside a managed system. “MCTP PCIe Vendor Defined Message (VDM) Transport Binding Protocol” is a DMTF-authored specification that defines how MCTP packets may be sent over a PCI Express (PCIe) bus. MCTP over PCIe enables high bandwidth management traffic to be multiplexed over PCIe busses. Since most management components are already hooked up to one of these busses, this approach eliminates the need for a separate high bandwidth bus and enables more flexible arrangement of manageability components. Each of these components can be an “MCTP endpoint” and exchange messages over the existing fabric. When transported over PCIe, MCTP packets take the form of a Vendor Defined Message (VDM). In addition, MCTP or more generically PCI Express VDMs can be utilized for managing the processor complexes themselves (e.g. processor thermals, power and errors). However, MCTP or more generically PCI Express VDMs can specify only up to 256 busses due to length limitation of addresses within VDM format.
A larger server platform with one or more processor sockets may contain more than 256 PCIe busses. This kind of server platform may be managed by a single BMC. For that, BMC must be able to address more than 256 PCIe busses. Peripheral Component Interconnect Special Interest Group (PCI-SIG) is an electronics industry consortium that specifies various peripheral interconnects, including PCIe computer busses. PCI-SIG has proposed a PCI Firmware Specification that introduces the notion of PCIe bus segments, where each PCIe bus segment may include up to 256 PCIe busses. A server platform may have multiple PCIe bus segments, thus all PCIe bus segments together may contain more than 256 PCIe busses. The server platform containing multiple PCIe bus segments presents a challenge for a VDM/MCTP based transportation as VDM format as defined does not contain a field for PCIe bus segments.